home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / boot / czesc_2 / toolmanager / programmers / include / libraries / toolmanager.h
C/C++ Source or Header  |  1993-05-15  |  4KB  |  116 lines

  1. #ifndef LIBRARIES_TOOLMANAGER_H
  2. #define LIBRARIES_TOOLMANAGER_H
  3.  
  4. /*
  5.  * libraries/toolmanager.h  V2.1
  6.  *
  7.  * shared library include file
  8.  *
  9.  * (c) 1990-1993 Stefan Becker
  10.  */
  11.  
  12. #ifndef UTILITY_TAGITEM_H
  13. #include <utility/tagitem.h>
  14. #endif
  15.  
  16. #ifndef INTUITION_INTUITION_H
  17. #include <intuition/intuition.h>
  18. #endif
  19.  
  20. #define TMLIBNAME     "toolmanager.library"
  21. #define TMLIBVERSION  3
  22.  
  23. /* ToolManager Object Types */
  24. #define TMOBJTYPE_EXEC   0
  25. #define TMOBJTYPE_IMAGE  1
  26. #define TMOBJTYPE_SOUND  2
  27. #define TMOBJTYPE_MENU   3
  28. #define TMOBJTYPE_ICON   4
  29. #define TMOBJTYPE_DOCK   5
  30. #define TMOBJTYPE_ACCESS 6
  31. #define TMOBJTYPES       7
  32.  
  33. /* ToolManager Object Properties (see Object.doc) */
  34.  
  35. /* Type: TMOBJTYPE_EXEC */
  36. #define TMOP_Arguments  (TAG_USER +    1)
  37. #define TMOP_Command    (TAG_USER +    2) /* Also used for TMOBJTYPE_SOUND */
  38. #define TMOP_CurrentDir (TAG_USER +    3)
  39. #define TMOP_Delay      (TAG_USER +    4)
  40. #define TMOP_ExecType   (TAG_USER +    5)
  41. #define TMOP_HotKey     (TAG_USER +    6) /* Also used for TMOBJTYPE_DOCK */
  42. #define TMOP_Output     (TAG_USER +    7)
  43. #define TMOP_Path       (TAG_USER +    8)
  44. #define TMOP_Priority   (TAG_USER +    9)
  45. #define TMOP_PubScreen  (TAG_USER +   10) /* Also used for TMOBJTYPE_DOCK */
  46. #define TMOP_Stack      (TAG_USER +   11)
  47. #define TMOP_ToFront    (TAG_USER +   12)
  48.  
  49. /* Type: TMOBJTYPE_IMAGE */
  50. #define TMOP_File       (TAG_USER +  257)
  51. #define TMOP_Data       (TAG_USER +  258)
  52.  
  53. /* Type: TMOBJTYPE_SOUND */
  54. #define TMOP_Port       (TAG_USER +  513)
  55.  
  56. /* Type: TMOBJTYPE_MENU/ICON */
  57. #define TMOP_Exec       (TAG_USER +  769)
  58. #define TMOP_Sound      (TAG_USER +  770)
  59.  
  60. /* Type: TMOBJTYPE_ICON */
  61. #define TMOP_Image      (TAG_USER + 1025)
  62. #define TMOP_ShowName   (TAG_USER + 1026)
  63.  
  64. /* Type: TMOBJTYPE_ICON/DOCK */
  65. #define TMOP_LeftEdge   (TAG_USER + 1281)
  66. #define TMOP_TopEdge    (TAG_USER + 1282)
  67.  
  68. /* Type: TMOBJTYPE_DOCK */
  69. #define TMOP_Activated  (TAG_USER + 1536)
  70. #define TMOP_Centered   (TAG_USER + 1537)
  71. #define TMOP_Columns    (TAG_USER + 1538)
  72. #define TMOP_Font       (TAG_USER + 1539)
  73. #define TMOP_FrontMost  (TAG_USER + 1540)
  74. #define TMOP_Menu       (TAG_USER + 1541)
  75. #define TMOP_Pattern    (TAG_USER + 1542)
  76. #define TMOP_PopUp      (TAG_USER + 1543)
  77. #define TMOP_Text       (TAG_USER + 1544)
  78. #define TMOP_Title      (TAG_USER + 1545)
  79. #define TMOP_Tool       (TAG_USER + 1546)
  80. #define TMOP_Vertical   (TAG_USER + 1547)
  81. #define TMOP_Backdrop   (TAG_USER + 1548)
  82. #define TMOP_Sticky     (TAG_USER + 1549)
  83.  
  84. /* Type: TMOBJTYPE_ACCESS */
  85. /* None defined yet... */
  86.  
  87. /* Types for TMOP_ExecType */
  88. #define TMET_CLI       0
  89. #define TMET_WB        1
  90. #define TMET_ARexx     2
  91. #define TMET_Dock      3
  92. #define TMET_HotKey    4
  93. #define TMET_Network   5
  94. #define TMET_Hook    100
  95.  
  96. /* Data structures for storing image sequences (TMOBJTYPE_IMAGE/TMOP_Data) */
  97. /* TMImageNode contains the data for ONE picture. Several nodes are joined */
  98. /* into a single-linked chain via tmin_Next.                               */
  99. struct TMImageNode {
  100.                     struct TMImageNode *tmin_Next; /* pointer to next node */
  101.                     UWORD              *tmin_Data; /* MEMF_CHIP memory!!   */
  102.                    };
  103.  
  104. /* TMImageData contains information about the image data, like sizes etc.   */
  105. /* You MUST initialize BOTH Image structures and they MUST BE identical     */
  106. /* except of the ImageData pointer. tmid_Normal.ImageData should point to   */
  107. /* an image data which shows the inactive state and tmid_Selected.ImageData */
  108. /* should point to an image which shows the active state.                   */
  109. struct TMImageData {
  110.                     struct Image        tmid_Normal;   /* inactive state  */
  111.                     struct Image        tmid_Selected; /* active state    */
  112.                     struct TMImageNode *tmid_Data;     /* chain of images */
  113.                    };
  114.  
  115. #endif /* LIBRARIES_TOOLMANAGER_H */
  116.